package controleur;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Serializable;

import javax.swing.Timer;

public class Horloge  implements Serializable {
	
	private static final long serialVersionUID = 1L;
	private Timer timer;
	private Simulateur simulateur;
	
	public Simulateur getSimulateur() {
		return simulateur;
	}

	public void setSimulateur(Simulateur s) {
		this.simulateur = s;
	}

	public Timer getTimer() {
		return timer;
	}

	public Horloge(Simulateur simulateur) {
		this.simulateur = simulateur;
		this.timer = this.creationTimer();
	}
	
	private Timer creationTimer(){
	    ActionListener action = new ActionListener (){
	        public void actionPerformed (ActionEvent event)
	        {
	        	simulateur.miseAJour();
	        }
	     };
	    return new Timer (1000, action);
	}
	
	public void demarrerTimer(){
		this.timer.start();
	}
	
	public void stopperTimer(){
		this.timer.stop();
	}
	
	public void accelerer(){
		if (this.timer.getDelay()> 400)
			this.timer.setDelay(this.timer.getDelay()-200);
	}
	
	public void ralentir(){
		if (this.timer.getDelay()< 2000)
		this.timer.setDelay(this.timer.getDelay()+200);
	}
}